This relates generally to graphics processing.
In graphics processing, performance is largely a function of pixel computation throughput and/or memory bandwidth limitations, especially in low power consuming devices.
Thus many techniques have been developed to reduce the amount of pixel computations that need to be performed, especially on pixels that are ultimately not visible in the final depiction due to occlusion by other scene objects. For example, early depth or Z culling first performs an occlusion or depth test for a pixel and then only computes the pixel if the pixel is visible. In deferred rendering, an application performing a rendering pass actually only performs the depth test to see if the pixels are visible. This depth test rendering pass results in a depth buffer being populated with information used in a second rendering pass where only the ultimately visible pixels are computed.
In tile-based deferred rendering, a scene image is divided into rectangular tile regions and rendered incrementally by tile regions. The tile regions are sized relative to memory cache capability so that the color and depth buffer for a tile region can be contained within the cache.
While these techniques have resulted in improvements, it is desirable to reduce pixel computation burden and unnecessary replication of geometry processing in graphics processing engines.